Aller au contenu principal
  jeudi 7 septembre 2017
  1 réponses
  2 000 visites
  S'abonner
Bonjour,

nous utilisons WP Media Folder v4.2.6.

En recherchant la raison d'un crash de notre site web de production aujourd'hui, nous sommes tombés sur les lignes de code PHP suivantes dans class-media-folder.php :

public function generatePageTree($datas, $parent = 0, $depth = 0, $limit = 0) {
if ($limit > 1000)
return '';
$tree = array();
for ($i = 0, $ni = count($datas); $i < $ni; $i++) {
if (!empty($datas[$i])) {
if ($datas[$i]->parent == $parent) {
$datas[$i]->name = $datas[$i]->name;
$datas[$i]->depth = $depth;
$tree[] = $datas[$i];
$t = $this->generatePageTree($datas, $datas[$i]->term_id, $depth + 1, $limit++);
$tree = array_merge($tree, $t);
}
}
}
return $tree;
}

Le message d'erreur signalé dans le journal d'application était :

PHP Warning: array_merge(): Argument #2 is not an array in /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php on line 1310
PHP Fatal error: Uncaught TypeError: Argument 1 passed to Wp_Media_Folder::p arent_sort() must be of the type array, null given, called in /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php on line 470 and defined in /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php:1327

Après avoir modifié la première ligne de la fonction ci-dessus en "if ($limit > 1500)", le site Web a recommencé à fonctionner.

Pourriez-vous expliquer la raison de la limite de 1 000 appels récursifs et comment l'éviter ou l'augmenter au mieux (par exemple, sans modifications personnalisées directement dans le code du plugin) ?

Cordialement,
vipteam
UN
il y a 8 ans
Bonjour,

Merci de nous avoir contactés ici à propos de cette extension.
Je suis désolé mais ce forum est uniquement destiné aux questions de pré-vente, pour toute demande technique merci de nous envoyer un ticket (menu Support > Support Ticket).
Notre développeur en charge y réfléchira.

Salutations,
  • Page :
  • 1
Il n'y a pas encore de réponses pour ce post.